#ifndef GAMEMANAGER_HH
#define GAMEMANAGER_HH

#include "../include/Player.hh"
#include "../include/GameMap.hh"

namespace Game {
    class GameManager {
    public:
        //Canonical Form
        GameManager() = default;
        GameManager(const GameManager&) = default;
        GameManager& operator=(const GameManager&) = default;
        ~GameManager() = default;
        // Unique methods
        void startGame();
        void showCharacterInfo();
        void gameLoop();
        void showMainMenu();
        void handleCombat(Enemy& enemy);
        void handleMovement();

    private:
        Player player_;
        GameMap gameMap_;
        std::string lastCombatLog_;
    };
}

#endif